From f6a9ce6b5710ec991aed5baf4519d972b9851c61 Mon Sep 17 00:00:00 2001 From: Jeroen van der Heijden Date: Wed, 22 May 2019 12:00:52 +0200 Subject: [PATCH] Fix `getn` in ctree --- src/ctree/ctree.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ctree/ctree.c b/src/ctree/ctree.c index e6fefe3c..0cf8ec5f 100644 --- a/src/ctree/ctree.c +++ b/src/ctree/ctree.c @@ -183,10 +183,17 @@ void * ct_getn(ct_t * ct, const char * key, size_t n) { size_t diff = 1; ct_node_t * nd; - uint8_t k = (uint8_t) *key; - uint8_t pos = k / BLOCKSZ; + uint8_t k, pos; + + if (!n) + { + return NULL; + } + + k = (uint8_t) *key; + pos = k / BLOCKSZ; - if (!n || pos < ct->offset || pos >= ct->offset + ct->n) + if (pos < ct->offset || pos >= ct->offset + ct->n) { return NULL; } -- 2.30.2